文章目录
  1. 1. Linux学习笔记:用户管理和权限控制 - BruceOuyang 的专栏 - 博客频道 - CSDN.NET
  2. 2. Linux学习笔记:用户管理和权限控制
    1. 2.1. 一、Linux下的用户管理
      1. 2.1.1. Linux下有三类用户
      2. 2.1.2. 用户帐号管理
      3. 2.1.3. 用户组管理
      4. 2.1.4. 变化用户身份
    2. 2.2. 二、用户的权限管理 chmod
      1. 2.2.1. 文件/目录的所属用户和所属用户组

Linux学习笔记:用户管理和权限控制 - BruceOuyang 的专栏 - 博客频道 - CSDN.NET

linux 命令 用户管理 权限控制

Linux学习笔记:用户管理和权限控制

9508人阅读 收藏

版权声明:本文为博主原创文章,未经博主允许不得转载。

一、Linux下的用户管理

Linux下有三类用户

  1.超级用户: root 具有操作系统的一切权限 UID 值为0

2.普通用户:

普通用户具有操作系统有限的权限,

UID值 500 – 6000

3.伪用户:

是为了方便系统管理,

满足相应的系统进程文件属主的要求,

伪用户不能登录系统,UID值 1 – 499

用户管理文件:passwd/etc/passwd

在此文件中,只定义帐号,不定义口令;

文件中每行定义一个用户,分七个部分:

帐号名称:root

用户密码:x

用户标识码(用户ID):0

组标识码(用户组ID):0

用户相关信息:admin

用户家目录:/root

用户环境:/bin/bash

用户口令文件:shadow/etc/passwdcat /etc/shadow

此文件只有root用户能访问,分九个部分:

用户名:root

口令:存放加密口令,如果第一个字符是!,表示改用户不能登录

最后一次修改时间:

最大时间间隔:0 可以随时改变

最小时间间隔:99999 表示永远不过期

警告时间:1周

不活动时间:

失效时间:


用户帐号管理

  手工创建用户

1.在/etc/passwd中添加一条记录

2.创建用户主目录

3.在用户主目录中设置默认的配置文件

4.设置用户初始口令

命令创建用户

useradd 或者 adduser(man useradd)

-u -g -G -d -s -c -e -k -m -M -r

用户帐号的维护

useradd username 创建用户

passwd username  设置用户密码

注意:没有设置密码的用户不能登录

userdel username 删除用户

usermod -l newName username  修改登录名

usermod -L username 锁定用户
usermod -U username 解锁用户

passwd -l

passwd -u 

passwd -s


用户组管理

用户组分两类:

私有组:

当在创建一个新用户user时,若没有指定他所属于的组,Linux就建立一个和该用户同名的私有组

标准组:

标准组可以容纳多个用户,若使用标准组,在创建一个新用户时,就应该指定该用户所属于的组

用户组的管理文件:group /etc/group

分为四个部分:

    组名:用户登录时所在的组名

    组口令:一般不使用

    组标识码(GID):

    组内用户列表:属于改组的所有用户列表

添加用户组

useradd username (默认建立username用户组)

groupadd 组帐号名称 

修改组名

groupmod -n newName groupName

删除组帐号

groupdel 组帐号名称

  注意:删除的帐号必须存在,且不能是某个用户的私有组

添加用户到组

gpasswd -a userName groupName

从组中删除用户

gpasswd -d userName groupName

查看某个用户属于哪个组

groups userName

查看某个组有哪些用户

tail 5 /etc/group    最后一行

查看一个用户的UID和GID

id [options] userName    eg: id bruce

id -g userName   只显示GID

id -G userName显示所有组

id -u userName 只显示UID
查看用户的相关信息,包括用户的主目录,启动shell,用户名等

finger [options] userNameeg: finger bruce

finger -l userName

finger -s userName


变化用户身份

  su userName

说明:从管理员到普通用户不用使用密码;从普通用户到其他用户需要使用密码

这样,至改变用户身份,环境变量不变;

su -userName

完全转变,包括身份和环境变量

只允许root用户登录

可以在/etc/目录下建立一个名为nologin的文件

  touch /etc/nologin

解除方法,删除nologin文件即可

  rm -rf /etc/nologin

二、用户的权限管理 chmod

使用 ll��命令查看文件时,能看到如下信息在首列

drwxrwxrwx  

第一个字母:代表文件类型

第2~4字符:表示当前用户的权限

第5~7字符:表示当前用户组权限

第8~10字符:表示其他用户的权限

d:目录

r[4]:读权限w[2]:写权限 x[1]:可执行权限

chmod命令

a:所有权限/所有用户

u:用户

g:用户组

o:其他用户

+:加上权限

-:减去权限
=:等于权限

eg:给文件file.txt加上可执行权限

chmod a+x file.txt

八进制的数据表示权限 0 1 2 3 4 5 6 7

0:没有任何权限

1:x

2:w

3:xw

4:r

5:rx

6:rw

7:rwx

eg: 给文件一个755权限

chmod 755 file.txt

文件/目录的所属用户和所属用户组

修改目录下所有文件、所有子文件、文件夹的权限

chmod -R 755 folder

修改文件的所属用户

chown userName file

修改目录下所有文件、所有子文件、文件夹的所有用户

chown -R userName folder

修改文件的所属用户组

chgrp groupName file

修改目录下所有文件、所有子文件、文件夹的所有用户组

chgrp -R userName folder

同时修改文件/目录的用户和用户组

chown -R userName.groupName file/folder### 新建文件/目录的默认权限

设置文件的默认生成掩码,新建文件/目录的默认权限

umask nnn

eg: umask 444

目录的默认权限:777 - 444 = 333  dr-xr-xr-x

文件的默认权限:777 - 444 -111 = 222 -w–w–w-

文章目录
  1. 1. Linux学习笔记:用户管理和权限控制 - BruceOuyang 的专栏 - 博客频道 - CSDN.NET
  2. 2. Linux学习笔记:用户管理和权限控制
    1. 2.1. 一、Linux下的用户管理
      1. 2.1.1. Linux下有三类用户
      2. 2.1.2. 用户帐号管理
      3. 2.1.3. 用户组管理
      4. 2.1.4. 变化用户身份
    2. 2.2. 二、用户的权限管理 chmod
      1. 2.2.1. 文件/目录的所属用户和所属用户组